int *p[3]={1,2,3}中的P到底是什么。。?
来源:百度知道 编辑:UC知道 时间:2024/04/28 00:09:35
#include<stdio.h>
main(){
int i=0;
for(i=0;i<3;i++){
printf("%d\n",p[i]);
}
为什么这个输出语句中使用的是p[i]而不是*p[i]??
少了一条语句
int *p[3]={1,2,3};
main(){
int i=0;
for(i=0;i<3;i++){
printf("%d\n",p[i]);
}
为什么这个输出语句中使用的是p[i]而不是*p[i]??
少了一条语句
int *p[3]={1,2,3};
*p[i]是指针,P应该是指针地址
int *p[3];表示申明一个指针数组,p就是数组名
={1,2,3};表示给p[0],p[1],p[2]分别赋值为1,2,3
所以后面打印输出的时候没有用*p[i],输出的就是1,2,3
如果是*p[i],那么输出的就是p[i]指针所指的值
int *p[3];//整形指针 数组(元素是整形指针)
int p[3];//整形 数组(元素是整形)
int *p[3]={1,2,3};
相当于
p[0] = 1;
p[1] = 2;
p[3] = 3; //注:p[i]是整形指针,这里1,2,3就相当于地址1,地址2,地址3
输出语句中使用的是p[i]而不是*p[i]?
看需要:
输出p[i]就相当于输出元素的值
输出*p[i]就相当于输出元素指向地址的整形的值
int *p=new int [3]和int p[3]是一回事吗?
"int x y=0,z,*p[3];p[0]=&y;p[1]=&y;p[2]=&z;",以下表达式有语法错误的是
定义int a[ ]={1,2,3,4,5,6},*p=a;表达式(*++p)++的值是________。
能不能用int y 存放 int *p 中的p
如何解释 int i=3,*p=&i; ?
int (*p)()
int *p和 int *p
定义int a[2][3],*p[3];那么语句p=a和p[0]=a都错在哪?
int a[]={10,9,8,7,6} *p=a; *(p+1)*(p+2)[2]=?
标准c++ int a[3][2]={1,2,3,4,5,6},(*p)[2]=a;语句麻烦看看